Refactoring for reuse: an empirical study
نویسندگان
چکیده
Refactoring is the de-facto practice to optimize software health. While several studies propose refactoring strategies design through applying patterns and removing defects, little known about how developers actually refactor their code improve its reuse. Therefore, we extract, from 1,828 open source projects, a set of refactorings that were intended reusability. We analyze impact reusability on state-of-the-art metrics, compare distribution types, with remaining mainstream refactorings. Overall, found applied in context reusability, different types development. In performed files are subject more level Reusability significantly impact, high-level elements, such as packages, classes, methods, while typical refactorings, all including identifiers, parameters. These findings provide practical insights into current reuse involving act refactoring.
منابع مشابه
An Empirical Study on Refactoring Activity
This paper reports an empirical study on refactoring activity in three Java software systems. We investigated some questions on refactoring activity, to confirm or disagree on conclusions that have been drawn from previous empirical studies. Unlike previous empirical studies, our study found that it is not always true that there are more refactoring activities before major project release date ...
متن کاملSearch-based refactoring: an empirical study
Object-oriented systems that undergo repeated addition of functionality commonly suffer a loss of quality in their underlying design. This problem must often be remedied in a costly refactoring phase before further maintenance programming can take place. Recently search-based approaches to automating the task of software refactoring, based on the concept of treating object-oriented design as a ...
متن کاملAn Empirical Evaluation of Refactoring
This paper presents a process evaluation for the agile technique of refactoring based on the language C. The basis for this evaluation is made up by an experiment which is targeted on the aspects of increased maintainability and modifiability. Although the maintainability test shows a slight advantage for refactoring, results show no significant strength here. Concerning modifiability, the over...
متن کاملReuse Based Refactoring Tools
Current refactoring tools work on a particular language. Each time it is intended to provide refactoring support for new languages, the same refactoring operations are defined and implemented again from scratch. This approach ignores reuse opportunities in this matter. It is possible to define a way of collecting code information suited for several languages (a family of languages) and define r...
متن کاملAn Empirical Study on Refactoring Objects to Aspects
It has been proclaimed in the literature that AOP allows obtaining better modularized systems than those built with OOP, namely by reducing tangling and scattering. Very few quantitative studies sustaining that claim were published. None is known to contradict it. We brie y describe an assessment process that allows performing paradigmindependent modularity assessments, based on a metamodel dri...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Innovations in Systems and Software Engineering
سال: 2022
ISSN: ['1614-5054', '1614-5046']
DOI: https://doi.org/10.1007/s11334-021-00422-6